An integral part of many modern electronic trading systems is a pre-trade risk checking system. Typically, an order for a trade is originated at a trading system and transmitted over a network to a trading exchange where the actual transaction involving the order occurs. Before the order is transmitted from the trading system to the trading exchange, a pre-trade risk checking system checks to help ensure that the order passes a set of one or more predefined rules that represent trading risk checks. These checks, which are usually encoded as computer code, help ensure that the parameters of the order (e.g., price, quantity, etc.) do not exceed specified constraints. The checking of whether each incoming order of a plurality of orders passes its test against the set of rules may of course be automated and performed without further operator intervention. If an order passes all the rules of the set of rules, then the order may be transmitted to the trading exchange.
The time that it takes to get an order to the trading exchange oftentimes is a key factor in a trading system. For example, in high-frequency and algorithmic trading systems, where milliseconds wasted potentially could result in a missed trading opportunity (e.g., because a competitor has already traded), minimizing latency could be even more important.
Certain example embodiments described herein provide for reducing the time between when the order is input to the trading system, and when the order is transmitted to the trading exchange.
In certain example embodiments, an electronic trading system is provided. A memory is configured to store a plurality of pre-trade order evaluation rules, wherein each pre-trade order evaluation rule includes at least one condition. A processing system includes at least one processor, with the processing system being configured to perform operations comprising: enabling receipt of at least one trading order; determining, based on one or more dynamically updated performance metrics associated with the plurality of pre-trade order evaluation rules, a sequencing of the plurality of pre-trade order evaluation rules; applying the pre-trade order evaluation rules to the at least one received trading order in accordance with the determined sequencing, wherein, in response to the applying, a respective result is obtained with respect to each applied pre-trade order evaluation rule; and based on the obtained respective results, either transmitting the at least one received trading order to a trading exchange or rejecting the at least one received trading order.
In certain example embodiments, an electronic trading method is provided. A plurality of pre-trade order evaluation rules are stored in a memory, wherein each pre-trade order evaluation rule includes at least one condition. At least one trading order is electronically received. A determination is made, using a processing system including at least one processor, and based on one or more dynamically updated performance metrics associated with the plurality of pre-trade order evaluation rules, as to a sequencing of the plurality of pre-trade order evaluation rules. Using the processing system, the pre-trade order evaluation rules are applied to the at least one received trading order in accordance with the determined sequencing. In response to the applying, a respective result is obtained with respect to each applied pre-trade order evaluation rule. Based on the obtained respective results, either the at least one received trading order is electronically transmitted to a trading exchange over a network or the at least one received trading order is rejected.
In certain example embodiments, there is provided a non-transitory computer-readable storage medium having stored thereon computer program instructions that, when executed by a processor of computer, cause the computer to perform operations comprising: storing a plurality of pre-trade order evaluation rules in a memory, wherein each pre-trade order evaluation rule includes at least one condition; enabling electronic receipt of at least one trading order; determining, based on one or more dynamically updated performance metrics associated with the plurality of pre-trade order evaluation rules, a sequencing of the plurality of pre-trade order evaluation rules; applying the pre-trade order evaluation rules to the at least one received trading order in accordance with the determined sequencing, wherein, in response to the applying, a respective result is obtained with respect to each applied pre-trade order evaluation rule; and based on the obtained respective results, either electronically transmitting the at least one received trading order to a trading exchange over a network or rejecting the at least one received trading order.
According to certain example embodiments, the determining may include selecting the sequencing in order to minimize a processing time associated with the sequencing, a processing time for rejected orders, and/or the like.
These aspects, features, and example embodiments may be used separately and/or applied in various combinations to achieve yet further embodiments of this invention.